#!/usr/bin/env python3
"""
快速品类发现测试脚本
用于快速验证修复后的品类发现功能
"""

import sys
from pathlib import Path

# 添加项目路径
sys.path.append(str(Path(__file__).parent))

def quick_test():
    """快速测试品类发现功能"""
    
    print("🚀 快速品类发现测试")
    print("="*50)
    
    try:
        # 导入并测试CategoryDiscovery类
        from core.category_discovery import CategoryDiscovery
        
        print("✅ 成功导入 CategoryDiscovery 类")
        
        # 测试构造函数
        print("\n📝 测试构造函数...")
        
        # 测试1: 无参数构造
        discovery1 = CategoryDiscovery()
        print("✅ 无参数构造成功")
        
        # 测试2: 带Cookie参数构造
        discovery2 = CategoryDiscovery("test_cookie_string")
        print("✅ 带Cookie参数构造成功")
        
        # 测试固定品类获取
        print("\n📋 测试固定品类获取...")
        fixed_categories = discovery1._get_fixed_categories("nanning")
        print(f"✅ 获取到 {len(fixed_categories)} 个固定品类")
        
        # 检查烤肉品类
        roast_categories = [cat for cat in fixed_categories if '烤肉' in cat['name']]
        if roast_categories:
            print(f"✅ 找到烤肉品类: {[cat['name'] for cat in roast_categories]}")
        else:
            print("⚠️ 未找到烤肉品类")
        
        # 测试品类ID映射
        print("\n🎯 测试品类ID映射...")
        test_ids = ['g34303', 'g113', 'g117']
        for test_id in test_ids:
            name = discovery1._get_category_name_by_id(test_id)
            print(f"  {test_id} -> {name}")
        
        # 测试烤肉可用性检查
        print("\n🥩 测试烤肉可用性检查...")
        roast_check = discovery1.check_roast_meat_availability("南宁", "nanning")
        print(f"  烤肉可用性: {'✅ 可用' if roast_check['has_roast_meat'] else '❌ 不可用'}")
        
        # 测试动态发现方法是否存在
        print("\n🌐 测试动态发现方法...")
        if hasattr(discovery1, '_discover_categories_dynamically'):
            print("✅ _discover_categories_dynamically 方法存在")
        else:
            print("❌ _discover_categories_dynamically 方法不存在")
        
        print("\n" + "="*50)
        print("🎉 所有基础测试通过！")
        print("现在可以运行完整的测试脚本:")
        print("  python test_category_discovery.py")
        
        return True
        
    except ImportError as e:
        print(f"❌ 导入失败: {e}")
        return False
    except Exception as e:
        print(f"❌ 测试失败: {e}")
        import traceback
        traceback.print_exc()
        return False

if __name__ == "__main__":
    # 创建日志目录
    Path("logs").mkdir(exist_ok=True)
    
    success = quick_test()
    if success:
        print("\n✅ 快速测试完成，可以继续使用完整测试！")
    else:
        print("\n❌ 快速测试失败，请检查错误信息")
